Gherkin হল একটি নির্দিষ্ট ফরম্যাট যা Behavior Driven Development (BDD) এ ব্যবহার করা হয়। এটি প্রজেক্টের ব্যবহারকারী গল্প এবং Acceptance Criteria নির্ধারণ করতে সাহায্য করে। Gherkin সিনট্যাক্স সাধারণত স্বচ্ছ, পাঠযোগ্য এবং ব্যবহৃত ভাষায় লেখা হয়, যা ডেভেলপার, টেস্টার এবং ব্যবসায়ী অংশীদারদের মধ্যে সহযোগিতা বাড়ায়। Gherkin-এর মূল উপাদানগুলো হল: Feature, Scenario, Given, When, এবং Then।
1. Feature
Feature হল একটি ফিচার বা কার্যকারিতার বর্ণনা যা ব্যবহারকারীর জন্য কোনও বিশেষ সুবিধা প্রদান করে। এটি সাধারনত ফিচারের মূল উদ্দেশ্য এবং প্রয়োজনীয়তার সংক্ষিপ্ত বিবরণ দেয়।
উদাহরণ:
Feature: User Profile Management
As a registered user
I want to update my profile information
So that my profile always reflects accurate information
Feature এর ভূমিকা:
- কন্টেক্সট প্রদান: Feature অংশটি পুরো সিস্টেমের প্রেক্ষাপট এবং উদ্দেশ্য জানায়।
- ব্যবহারকারীর প্রয়োজনীয়তা: এটি ব্যবহারকারীর প্রয়োজন ও চাহিদার উপর আলোকপাত করে।
2. Scenario
Scenario হল একটি নির্দিষ্ট পরিস্থিতির বর্ণনা যা Feature এর মধ্যে একটি কাজের প্রবাহ নির্দেশ করে। এটি সাধারণত একাধিক পদক্ষেপ (steps) দ্বারা গঠিত, যা কীভাবে সেই কাজটি সম্পন্ন হবে তা ব্যাখ্যা করে।
উদাহরণ:
Scenario: Successful profile update
Given I am logged in as a user
When I update my name to "John Doe"
Then I should see a confirmation message
Scenario এর ভূমিকা:
- কাজের প্রবাহ নির্ধারণ: Scenario অংশটি নির্দিষ্ট পরিস্থিতির মাধ্যমে কাজের প্রবাহ নির্দেশ করে, যা বাস্তব জীবনের ব্যবহারের সাথে সম্পর্কিত।
- পুনঃব্যবহারযোগ্যতা: একাধিক Scenario একই Feature এর অধীনে থাকতে পারে, যা বিভিন্ন পরিস্থিতিতে কাজের প্রবাহ বুঝতে সহায়ক।
3. Given
Given হল একটি প্রাথমিক অবস্থার বর্ণনা যা Scenario এর পূর্বে ঘটতে হবে। এটি বোঝায় যে পরিস্থিতি তৈরি হয়েছে এবং এই অবস্থার ভিত্তিতে পরবর্তী পদক্ষেপগুলি গ্রহণ করা হবে।
উদাহরণ:
Given I am logged in as a user
Given এর ভূমিকা:
- প্রাথমিক কন্ডিশন: Given অংশটি বোঝায় কোন পরিস্থিতিতে Scenario শুরু হচ্ছে, যা পরবর্তী পদক্ষেপের ভিত্তি তৈরি করে।
4. When
When হল একটি একশন বা কার্যক্রম যা Scenario তে ঘটবে। এটি সাধারণত ইউজারের কার্যক্রম বা ইভেন্ট নির্দেশ করে যা পরবর্তী ফলাফল প্রভাবিত করবে।
উদাহরণ:
When I update my name to "John Doe"
When এর ভূমিকা:
- একশন নির্দেশনা: When অংশটি Scenario তে কি ঘটছে তা নির্ধারণ করে, যা পরবর্তী ফলাফল নির্দেশ করার জন্য অপরিহার্য।
5. Then
Then হল একটি ফলাফল বা প্রত্যাশিত আচরণের বর্ণনা যা Scenario তে When অংশের পরে ঘটবে। এটি বোঝায় যে কার্যক্রমের ফলাফল কেমন হওয়া উচিত।
উদাহরণ:
Then I should see a confirmation message
Then এর ভূমিকা:
- ফলাফল নিশ্চিতকরণ: Then অংশটি একটি Scenario তে প্রত্যাশিত ফলাফল নির্দেশ করে, যা টেস্টিংয়ের সময় ব্যবহারকারীর প্রত্যাশা যাচাই করতে সাহায্য করে।
Gherkin সিনট্যাক্সের উদাহরণ
নিচে একটি সম্পূর্ণ Gherkin সিনট্যাক্স উদাহরণ দেওয়া হলো:
Feature: User Profile Management
As a registered user
I want to update my profile information
So that my profile always reflects accurate information
Scenario: Successful profile update
Given I am logged in as a user
When I update my name to "John Doe"
Then I should see a confirmation message
উপসংহার
Gherkin সিনট্যাক্স একটি সুস্পষ্ট এবং সহজ পদ্ধতি যা সফটওয়্যার উন্নয়ন এবং টেস্টিং প্রক্রিয়ায় সহযোগিতা বাড়ায়। Feature, Scenario, Given, When, এবং Then এর মাধ্যমে ব্যবসায়িক চাহিদা, ব্যবহারকারীর প্রয়োজনীয়তা এবং প্রত্যাশিত ফলাফল স্পষ্টভাবে বর্ণনা করা হয়, যা উন্নয়ন এবং টেস্টিং দলের মধ্যে একটি সাধারণ ভাষা গঠন করে। Gherkin সিনট্যাক্সের ব্যবহার সফটওয়্যার উন্নয়নকে আরও কার্যকরী এবং ফলপ্রসূ করে তোলে।
Read more